#ifndef Illumination_h
#define Illumination_h

#include <vector>
#include "Object.h"
#include "Light.h"
#include "Observer.h"

using namespace std;

class Scene;

class Illumination {

public:
	virtual Color illumination( Intersection&, const Object&, Scene&, Ray&, int) = 0;
	virtual float attenuation(const Point&, const Point&) = 0;
	virtual void miror( Intersection&, const Object&, Scene&, Ray&, int, Color&) = 0;;

};

#endif
